package ljl.alg.wangzheng_camp.round1.sort;

import java.util.Arrays;
import java.util.Comparator;

public class _252_meeting_room {
    
    /**
     * 结束时间排序
     * 然后看下一个开始时间如果都比前一个大，就 true 否则 false
     *
     * 过了，咋不快呢？
     *
     * 居然按开始时间排序也可以，然后比较前一个结束时间和后一个开始时间
     *
     * lambda 会让速度变得更慢
     * 还是匿名内部类快，快 1ms
     *
     * */
    public boolean canAttendMeetings1(int[][] intervals) {
        Arrays.sort(intervals, Comparator.comparingInt(a -> a[1]));
        for (int i = 0; i < intervals.length - 1; i++) {
            if (intervals[i + 1][0] < intervals[i][1]) return false;
        }
        return true;
    }
    
    /**
     * 一样很慢
     * */
    public boolean canAttendMeetings2(int[][] intervals) {
        Arrays.sort(intervals, Comparator.comparingInt(a -> a[0]));
        for (int i = 0; i < intervals.length - 1; i++) {
            if (intervals[i + 1][0] < intervals[i][1]) return false;
        }
        return true;
    }
}
